\hypertarget{classTiXmlBase}{\section{\-Ti\-Xml\-Base \-Class \-Reference}
\label{classTiXmlBase}\index{\-Ti\-Xml\-Base@{\-Ti\-Xml\-Base}}
}


{\ttfamily \#include $<$tinyxml.\-h$>$}

\-Inheritance diagram for \-Ti\-Xml\-Base\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.413793cm]{classTiXmlBase}
\end{center}
\end{figure}
\subsection*{\-Classes}
\begin{DoxyCompactItemize}
\item 
struct {\bfseries \-Entity}
\end{DoxyCompactItemize}
\subsection*{\-Public \-Types}
\begin{DoxyCompactItemize}
\item 
enum \{ \*
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R} =  0, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-O\-P\-E\-N\-I\-N\-G\-\_\-\-F\-I\-L\-E}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-P\-A\-R\-S\-I\-N\-G\-\_\-\-E\-L\-E\-M\-E\-N\-T}, 
\*
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-F\-A\-I\-L\-E\-D\-\_\-\-T\-O\-\_\-\-R\-E\-A\-D\-\_\-\-E\-L\-E\-M\-E\-N\-T\-\_\-\-N\-A\-M\-E}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-R\-E\-A\-D\-I\-N\-G\-\_\-\-E\-L\-E\-M\-E\-N\-T\-\_\-\-V\-A\-L\-U\-E}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-R\-E\-A\-D\-I\-N\-G\-\_\-\-A\-T\-T\-R\-I\-B\-U\-T\-E\-S}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-P\-A\-R\-S\-I\-N\-G\-\_\-\-E\-M\-P\-T\-Y}, 
\*
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-R\-E\-A\-D\-I\-N\-G\-\_\-\-E\-N\-D\-\_\-\-T\-A\-G}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-P\-A\-R\-S\-I\-N\-G\-\_\-\-U\-N\-K\-N\-O\-W\-N}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-P\-A\-R\-S\-I\-N\-G\-\_\-\-C\-O\-M\-M\-E\-N\-T}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-P\-A\-R\-S\-I\-N\-G\-\_\-\-D\-E\-C\-L\-A\-R\-A\-T\-I\-O\-N}, 
\*
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-D\-O\-C\-U\-M\-E\-N\-T\-\_\-\-E\-M\-P\-T\-Y}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-E\-M\-B\-E\-D\-D\-E\-D\-\_\-\-N\-U\-L\-L}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-P\-A\-R\-S\-I\-N\-G\-\_\-\-C\-D\-A\-T\-A}, 
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-D\-O\-C\-U\-M\-E\-N\-T\-\_\-\-T\-O\-P\-\_\-\-O\-N\-L\-Y}, 
\*
{\bfseries \-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-S\-T\-R\-I\-N\-G\-\_\-\-C\-O\-U\-N\-T}
 \}
\end{DoxyCompactItemize}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classTiXmlBase_a0de56b3f2ef14c65091a3b916437b512}{\-Print} (\-F\-I\-L\-E $\ast$cfile, int depth) const =0
\item 
int \hyperlink{classTiXmlBase_a024bceb070188df92c2a8d8852dd0853}{\-Row} () const 
\item 
\hypertarget{classTiXmlBase_ab54bfb9b70fe6dd276e7b279cab7f003}{int \hyperlink{classTiXmlBase_ab54bfb9b70fe6dd276e7b279cab7f003}{\-Column} () const }\label{classTiXmlBase_ab54bfb9b70fe6dd276e7b279cab7f003}

\begin{DoxyCompactList}\small\item\em \-See \hyperlink{classTiXmlBase_a024bceb070188df92c2a8d8852dd0853}{\-Row()} \end{DoxyCompactList}\item 
\hypertarget{classTiXmlBase_ac6b3e0f790930d4970ec30764e937b5d}{void \hyperlink{classTiXmlBase_ac6b3e0f790930d4970ec30764e937b5d}{\-Set\-User\-Data} (void $\ast$user)}\label{classTiXmlBase_ac6b3e0f790930d4970ec30764e937b5d}

\begin{DoxyCompactList}\small\item\em \-Set a pointer to arbitrary user data. \end{DoxyCompactList}\item 
\hypertarget{classTiXmlBase_a6559a530ca6763fc301a14d77ed28c17}{void $\ast$ \hyperlink{classTiXmlBase_a6559a530ca6763fc301a14d77ed28c17}{\-Get\-User\-Data} ()}\label{classTiXmlBase_a6559a530ca6763fc301a14d77ed28c17}

\begin{DoxyCompactList}\small\item\em \-Get a pointer to arbitrary user data. \end{DoxyCompactList}\item 
\hypertarget{classTiXmlBase_ad0120210e4680ef2088601753ce0ede4}{const void $\ast$ \hyperlink{classTiXmlBase_ad0120210e4680ef2088601753ce0ede4}{\-Get\-User\-Data} () const }\label{classTiXmlBase_ad0120210e4680ef2088601753ce0ede4}

\begin{DoxyCompactList}\small\item\em \-Get a pointer to arbitrary user data. \end{DoxyCompactList}\item 
\hypertarget{classTiXmlBase_a00e4edb0219d00a1379c856e5a1d2025}{virtual const char $\ast$ {\bfseries \-Parse} (const char $\ast$p, \-Ti\-Xml\-Parsing\-Data $\ast$data, \-Ti\-Xml\-Encoding encoding)=0}\label{classTiXmlBase_a00e4edb0219d00a1379c856e5a1d2025}

\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{classTiXmlBase_a0f799ec645bfb8d8a969e83478f379c1}{\-Set\-Condense\-White\-Space} (bool condense)
\item 
\hypertarget{classTiXmlBase_ad4b1472531c647a25b1840a87ae42438}{static bool \hyperlink{classTiXmlBase_ad4b1472531c647a25b1840a87ae42438}{\-Is\-White\-Space\-Condensed} ()}\label{classTiXmlBase_ad4b1472531c647a25b1840a87ae42438}

\begin{DoxyCompactList}\small\item\em \-Return the current white space setting. \end{DoxyCompactList}\item 
static void \hyperlink{classTiXmlBase_a6bd8c315c1acb09e34107b8736505948}{\-Encode\-String} (const \-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G \&str, \-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G $\ast$out)
\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTiXmlBase_a727583b4ed4342a3ad78cdc39b819af4}{static const int {\bfseries utf8\-Byte\-Table} \mbox{[}256\mbox{]}}\label{classTiXmlBase_a727583b4ed4342a3ad78cdc39b819af4}

\end{DoxyCompactItemize}
\subsection*{\-Static \-Protected \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTiXmlBase_a6849556ca97c0a172c6b996f08287ee1}{static const char $\ast$ {\bfseries \-Skip\-White\-Space} (const char $\ast$, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_a6849556ca97c0a172c6b996f08287ee1}

\item 
\hypertarget{classTiXmlBase_af56296d561c0bab4bc8e198cdcf5c48e}{static bool {\bfseries \-Is\-White\-Space} (char c)}\label{classTiXmlBase_af56296d561c0bab4bc8e198cdcf5c48e}

\item 
\hypertarget{classTiXmlBase_a3de391ea9f4c4a8aa10d04480b048795}{static bool {\bfseries \-Is\-White\-Space} (int c)}\label{classTiXmlBase_a3de391ea9f4c4a8aa10d04480b048795}

\item 
\hypertarget{classTiXmlBase_aafe51421ca2f618d250a0541e8d61a4e}{static bool {\bfseries \-Stream\-White\-Space} (std\-::istream $\ast$in, \-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G $\ast$tag)}\label{classTiXmlBase_aafe51421ca2f618d250a0541e8d61a4e}

\item 
\hypertarget{classTiXmlBase_aac761023c11f3216de865f0a4b2b137b}{static bool {\bfseries \-Stream\-To} (std\-::istream $\ast$in, int character, \-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G $\ast$tag)}\label{classTiXmlBase_aac761023c11f3216de865f0a4b2b137b}

\item 
\hypertarget{classTiXmlBase_a910e1664e0d6a4da5d4d1bfaa51130fe}{static const char $\ast$ {\bfseries \-Read\-Name} (const char $\ast$p, \-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G $\ast$name, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_a910e1664e0d6a4da5d4d1bfaa51130fe}

\item 
\hypertarget{classTiXmlBase_a7f9beef90db30fa63dd35b3f992a30ca}{static const char $\ast$ {\bfseries \-Read\-Text} (const char $\ast$in, \-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G $\ast$text, bool ignore\-White\-Space, const char $\ast$end\-Tag, bool ignore\-Case, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_a7f9beef90db30fa63dd35b3f992a30ca}

\item 
\hypertarget{classTiXmlBase_a44f75cc7a45a97a09e509dc4c8c127e0}{static const char $\ast$ {\bfseries \-Get\-Entity} (const char $\ast$in, char $\ast$value, int $\ast$length, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_a44f75cc7a45a97a09e509dc4c8c127e0}

\item 
\hypertarget{classTiXmlBase_a5b0fde72d6f662ae1fd6303195d2159b}{static const char $\ast$ {\bfseries \-Get\-Char} (const char $\ast$p, char $\ast$\-\_\-value, int $\ast$length, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_a5b0fde72d6f662ae1fd6303195d2159b}

\item 
\hypertarget{classTiXmlBase_ad668006b550c011d05072dd4fc16577d}{static bool {\bfseries \-String\-Equal} (const char $\ast$p, const char $\ast$end\-Tag, bool ignore\-Case, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_ad668006b550c011d05072dd4fc16577d}

\item 
\hypertarget{classTiXmlBase_ac95c7391b56770ff134644b1d74a1a4e}{static int {\bfseries \-Is\-Alpha} (unsigned char any\-Byte, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_ac95c7391b56770ff134644b1d74a1a4e}

\item 
\hypertarget{classTiXmlBase_ae85b1b5e0351c80f2d795ca7005e79b7}{static int {\bfseries \-Is\-Alpha\-Num} (unsigned char any\-Byte, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_ae85b1b5e0351c80f2d795ca7005e79b7}

\item 
\hypertarget{classTiXmlBase_a799f17405a86a5c2029618e85f11a097}{static int {\bfseries \-To\-Lower} (int v, \-Ti\-Xml\-Encoding encoding)}\label{classTiXmlBase_a799f17405a86a5c2029618e85f11a097}

\item 
\hypertarget{classTiXmlBase_ad2b292fa401b8a5b8e6536de9261a3bb}{static void {\bfseries \-Convert\-U\-T\-F32\-To\-U\-T\-F8} (unsigned long input, char $\ast$\hyperlink{classoutput}{output}, int $\ast$length)}\label{classTiXmlBase_ad2b292fa401b8a5b8e6536de9261a3bb}

\end{DoxyCompactItemize}
\subsection*{\-Protected \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTiXmlBase_a0d992580f3bc264909f898e942677a3c}{\hyperlink{structTiXmlCursor}{\-Ti\-Xml\-Cursor} {\bfseries location}}\label{classTiXmlBase_a0d992580f3bc264909f898e942677a3c}

\item 
\hypertarget{classTiXmlBase_ab242c01590191f644569fa89a080d97c}{void $\ast$ \hyperlink{classTiXmlBase_ab242c01590191f644569fa89a080d97c}{user\-Data}}\label{classTiXmlBase_ab242c01590191f644569fa89a080d97c}

\begin{DoxyCompactList}\small\item\em \-Field containing a generic user pointer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{\-Static \-Protected \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTiXmlBase_aea4b8bd0d25d5de9174c1ed5ea106dff}{static const char $\ast$ {\bfseries error\-String} \mbox{[}\-T\-I\-X\-M\-L\-\_\-\-E\-R\-R\-O\-R\-\_\-\-S\-T\-R\-I\-N\-G\-\_\-\-C\-O\-U\-N\-T\mbox{]}}\label{classTiXmlBase_aea4b8bd0d25d5de9174c1ed5ea106dff}

\end{DoxyCompactItemize}
\subsection*{\-Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTiXmlBase_a218872a0d985ae30e78c55adc4bdb196}{class {\bfseries \-Ti\-Xml\-Node}}\label{classTiXmlBase_a218872a0d985ae30e78c55adc4bdb196}

\item 
\hypertarget{classTiXmlBase_ab6592e32cb9132be517cc12a70564c4b}{class {\bfseries \-Ti\-Xml\-Element}}\label{classTiXmlBase_ab6592e32cb9132be517cc12a70564c4b}

\item 
\hypertarget{classTiXmlBase_a173617f6dfe902cf484ce5552b950475}{class {\bfseries \-Ti\-Xml\-Document}}\label{classTiXmlBase_a173617f6dfe902cf484ce5552b950475}

\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\hyperlink{classTiXmlBase}{\-Ti\-Xml\-Base} is a base class for every class in \-Tiny\-Xml. \-It does little except to establish that \-Tiny\-Xml classes can be printed and provide some utility functions.

\-In \-X\-M\-L, the document and elements can contain other elements and other types of nodes.

\begin{DoxyVerb}
	A Document can contain:	Element	(container or leaf)
							Comment (leaf)
							Unknown (leaf)
							Declaration( leaf )

	An Element can contain:	Element (container or leaf)
							Text	(leaf)
							Attributes (not on tree)
							Comment (leaf)
							Unknown (leaf)

	A Decleration contains: Attributes (not on tree)
	\end{DoxyVerb}
 

\subsection{\-Member \-Function \-Documentation}
\hypertarget{classTiXmlBase_a6bd8c315c1acb09e34107b8736505948}{\index{\-Ti\-Xml\-Base@{\-Ti\-Xml\-Base}!\-Encode\-String@{\-Encode\-String}}
\index{\-Encode\-String@{\-Encode\-String}!TiXmlBase@{\-Ti\-Xml\-Base}}
\subsubsection[{\-Encode\-String}]{\setlength{\rightskip}{0pt plus 5cm}static void {\bf \-Ti\-Xml\-Base\-::\-Encode\-String} (
\begin{DoxyParamCaption}
\item[{const \-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G \&}]{str, }
\item[{\-T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G $\ast$}]{out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}\label{classTiXmlBase_a6bd8c315c1acb09e34107b8736505948}
\-Expands entities in a string. \-Note this should not contian the tag's '$<$', '$>$', etc, or they will be transformed into entities! \hypertarget{classTiXmlBase_a0de56b3f2ef14c65091a3b916437b512}{\index{\-Ti\-Xml\-Base@{\-Ti\-Xml\-Base}!\-Print@{\-Print}}
\index{\-Print@{\-Print}!TiXmlBase@{\-Ti\-Xml\-Base}}
\subsubsection[{\-Print}]{\setlength{\rightskip}{0pt plus 5cm}virtual void {\bf \-Ti\-Xml\-Base\-::\-Print} (
\begin{DoxyParamCaption}
\item[{\-F\-I\-L\-E $\ast$}]{cfile, }
\item[{int}]{depth}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}\label{classTiXmlBase_a0de56b3f2ef14c65091a3b916437b512}
\-All \-Tiny\-Xml classes can print themselves to a filestream or the string class (\hyperlink{classTiXmlString}{\-Ti\-Xml\-String} in non-\/\-S\-T\-L mode, std\-::string in \-S\-T\-L mode.) \-Either or both cfile and str can be null.

\-This is a formatted print, and will insert tabs and newlines.

(\-For an unformatted stream, use the $<$$<$ operator.) 

\-Implemented in \hyperlink{classTiXmlDocument_a8701fda1fa31b25abbc9c0df42da10e8}{\-Ti\-Xml\-Document}, \hyperlink{classTiXmlUnknown_a31ba089a40fb5a1869750fce09b0bacb}{\-Ti\-Xml\-Unknown}, \hyperlink{classTiXmlDeclaration_abf6303db4bd05b5be554036817ff1cb4}{\-Ti\-Xml\-Declaration}, \hyperlink{classTiXmlText_a0cafbf6f236c7f02d12b2bffc2b7976b}{\-Ti\-Xml\-Text}, \hyperlink{classTiXmlComment_a6b316527aaa8da0370cd68c22a5a0f5f}{\-Ti\-Xml\-Comment}, \hyperlink{classTiXmlElement_afbf52736e70fc91ec9d760721d6f4fd2}{\-Ti\-Xml\-Element}, and \hyperlink{classTiXmlAttribute_acc04956c1d5c4c31fe74f7a7528d109a}{\-Ti\-Xml\-Attribute}.

\hypertarget{classTiXmlBase_a024bceb070188df92c2a8d8852dd0853}{\index{\-Ti\-Xml\-Base@{\-Ti\-Xml\-Base}!\-Row@{\-Row}}
\index{\-Row@{\-Row}!TiXmlBase@{\-Ti\-Xml\-Base}}
\subsubsection[{\-Row}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Ti\-Xml\-Base\-::\-Row} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classTiXmlBase_a024bceb070188df92c2a8d8852dd0853}
\-Return the position, in the original source file, of this node or attribute. \-The row and column are 1-\/based. (\-That is the first row and first column is 1,1). \-If the returns values are 0 or less, then the parser does not have a row and column value.

\-Generally, the row and column value will be set when the \-Ti\-Xml\-Document\-::\-Load(), \hyperlink{classTiXmlDocument_a4c852a889c02cf251117fd1d9fe1845f}{\-Ti\-Xml\-Document\-::\-Load\-File()}, or any \-Ti\-Xml\-Node\-::\-Parse() is called. \-It will \-N\-O\-T be set when the \-D\-O\-M was created from operator$>$$>$.

\-The values reflect the initial load. \-Once the \-D\-O\-M is modified programmatically (by adding or changing nodes and attributes) the new values will \-N\-O\-T update to reflect changes in the document.

\-There is a minor performance cost to computing the row and column. \-Computation can be disabled if \hyperlink{classTiXmlDocument_a51dac56316f89b35bdb7d0d433ba988e}{\-Ti\-Xml\-Document\-::\-Set\-Tab\-Size()} is called with 0 as the value.

\begin{DoxySeeAlso}{\-See also}
\hyperlink{classTiXmlDocument_a51dac56316f89b35bdb7d0d433ba988e}{\-Ti\-Xml\-Document\-::\-Set\-Tab\-Size()} 
\end{DoxySeeAlso}
\hypertarget{classTiXmlBase_a0f799ec645bfb8d8a969e83478f379c1}{\index{\-Ti\-Xml\-Base@{\-Ti\-Xml\-Base}!\-Set\-Condense\-White\-Space@{\-Set\-Condense\-White\-Space}}
\index{\-Set\-Condense\-White\-Space@{\-Set\-Condense\-White\-Space}!TiXmlBase@{\-Ti\-Xml\-Base}}
\subsubsection[{\-Set\-Condense\-White\-Space}]{\setlength{\rightskip}{0pt plus 5cm}static void {\bf \-Ti\-Xml\-Base\-::\-Set\-Condense\-White\-Space} (
\begin{DoxyParamCaption}
\item[{bool}]{condense}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, static\mbox{]}}}}\label{classTiXmlBase_a0f799ec645bfb8d8a969e83478f379c1}
\-The world does not agree on whether white space should be kept or not. \-In order to make everyone happy, these global, static functions are provided to set whether or not \-Tiny\-Xml will condense all white space into a single space or not. \-The default is to condense. \-Note changing this value is not thread safe. 

\-The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
include/tinyxml.\-h\end{DoxyCompactItemize}
